/*给服务器发送一个数据，告诉服务器要发送1024字节的数据，但是实际发送的数据不足1024，查看服务器处理结果*/
/*
    1. 如果数据只发送一次，服务器将得不到完整请求，就不会进行业务处理，客户端也就得不到响应，最终超时关闭连接
    2. 连着给服务器发送了多次小的请求，  服务器会将后边的请求当作前边请求的正文进行处理，而后面处理的时候有可能就会因为处理错误而关闭连接
*/
#include "../http.hpp"

int main()
{
    Socket client;
    client.CreateClient(8085,"117.72.116.235");
                        //1:请求行                2.请求头部                             3.空行  4. 请求正文：
    std::string req = "GET /hello HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 100\r\n\r\nbitejiuyeke";
    
    while(1)
    {
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);
        assert(client.Send(req.c_str(), req.size()) != -1);

        char buf[1024] = {0};//接收响应
        assert(client.Recv(buf,1023) != -1);

        DEBUG_LOG("[%s]",buf);

        sleep(3);
        //DEBUG_LOG("%d",fd);
    }
    client.Close();
    return 0;
}